package com.itheima.hashmap;

import java.util.*;
import java.util.function.BiConsumer;

public class A02_HashMapDemo2 {

    public static void main(String[] args) {
       /*
        某个班级80名学生，现在需要组成秋游活动，
        班长提供了四个景点依次是（A、B、C、D），
        每个学生只能选择一个景点，请统计出最终哪个景点想去的人数最多。
        */
        String[] arr = {"A", "B", "C", "D"};
        //定义一个集合用于统计学生所选择的景点
        ArrayList<String> list = new ArrayList<>();
        //用随机数模拟学生选景点
        Random r = new Random();
        for (int i = 0; i < 80; i++) {
            int index = r.nextInt(arr.length);
            list.add(arr[index]);
        }

        //用hashmap记录各个景点的学生人数
        HashMap<String, Integer> hm = new HashMap<>();
        for (int i = 0; i < list.size(); i++) {
            String name = list.get(i);
            if (hm.containsKey(name)) {
                int count = hm.get(name);
                count++;
                hm.put(name, count);
            } else {
                hm.put(name, 1);
            }
        }
        System.out.println(hm);

        //找最大值
        int max = 0;
        Set<Map.Entry<String, Integer>> entries = hm.entrySet();
        for (Map.Entry<String, Integer> entry : entries) {
            int value = entry.getValue();
            if (value > max) {
                max = value;
            }
        }
        System.out.println(max);
        final int copyMax = max;
        hm.forEach(new BiConsumer<String, Integer>() {
            @Override
            public void accept(String s, Integer integer) {
                if (integer == copyMax) {
                    System.out.println(s+", "+integer);
                }
            }
        });

    }
}
